This relates to integrated circuits such as programmable integrated circuits.
Programmable integrated circuits such as programmable logic devices (PLDs) can be programmed by a user to implement a desired custom logic function. In a typical scenario, a logic designer uses computer-aided design (CAD) tools to design a custom logic circuit. When the design process is complete, the tools generate configuration data. The configuration data is loaded into programmable integrated circuit memory elements to configure the device to perform the functions of the custom logic circuit. In particular, the configuration data configures programmable interconnects, programmable routing circuits, and programmable logic circuits in the programmable integrated circuits.
Programmable logic devices include programmable logic circuitry organized into logic units sometimes referred to as adaptive logic modules. A conventional adaptive logic module includes four 4-input lookup tables, only one or two adders, and associated routing circuitry. Having only a pair of adders places a cap on the arithmetic density of the ALM. In arithmetic mode, the amount of routing circuitry is also disproportionately large in comparison to the number of adders (i.e., existing PLDs include too much routing while only supporting small precision arithmetic). The limited arithmetic densities of conventional programmable devices makes it challenging for such devices to compete with other types of computing devices such as graphics processing units and application specific standard products.
It is within this context that the embodiments described herein arise.